package org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.navigator;

import org.admanager.soageneralpattern.plugin.soageneralpattern.ComponentReference;
import org.admanager.soageneralpattern.plugin.soageneralpattern.ComponentService;
import org.admanager.soageneralpattern.plugin.soageneralpattern.Multiplicity;
import org.admanager.soageneralpattern.plugin.soageneralpattern.Pattern;
import org.admanager.soageneralpattern.plugin.soageneralpattern.Reference;
import org.admanager.soageneralpattern.plugin.soageneralpattern.Service;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.Component2EditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.ComponentEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.ComponentName2EditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.ComponentNameEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.ComponentReference2EditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.ComponentReferenceEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.ComponentReferenceTargetEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.ComponentService2EditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.ComponentServiceEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.CompositeEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.CompositeNameEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.ConstraintEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.ConstraintNameEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.ElementMultiplicityEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.ElementRolesEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.MultiplicityEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.PatternEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.ReferenceEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.ReferencePromoteEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.RoleEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.RoleNameEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.ServiceEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.edit.parts.ServicePromoteEditPart;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelDiagramEditorPlugin;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.part.GeneralSOAPatternECOREMetamodelVisualIDRegistry;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.providers.GeneralSOAPatternECOREMetamodelElementTypes;
import org.admanager.soageneralpattern.plugin.soageneralpattern.diagram.providers.GeneralSOAPatternECOREMetamodelParserProvider;
import org.eclipse.gmf.runtime.common.ui.services.parser.IParser;
import org.eclipse.gmf.runtime.common.ui.services.parser.ParserOptions;
import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
import org.eclipse.gmf.runtime.emf.type.core.IElementType;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.resource.ImageRegistry;
import org.eclipse.jface.viewers.ITreePathLabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.TreePath;
import org.eclipse.jface.viewers.ViewerLabel;
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.IMemento;
import org.eclipse.ui.navigator.ICommonContentExtensionSite;
import org.eclipse.ui.navigator.ICommonLabelProvider;

/**
 * @generated
 */
public class GeneralSOAPatternECOREMetamodelNavigatorLabelProvider extends
		LabelProvider implements ICommonLabelProvider, ITreePathLabelProvider {

	/**
	 * @generated
	 */
	static {
		GeneralSOAPatternECOREMetamodelDiagramEditorPlugin
				.getInstance()
				.getImageRegistry()
				.put("Navigator?UnknownElement", ImageDescriptor.getMissingImageDescriptor()); //$NON-NLS-1$
		GeneralSOAPatternECOREMetamodelDiagramEditorPlugin
				.getInstance()
				.getImageRegistry()
				.put("Navigator?ImageNotFound", ImageDescriptor.getMissingImageDescriptor()); //$NON-NLS-1$
	}

	/**
	 * @generated
	 */
	public void updateLabel(ViewerLabel label, TreePath elementPath) {
		Object element = elementPath.getLastSegment();
		if (element instanceof GeneralSOAPatternECOREMetamodelNavigatorItem
				&& !isOwnView(((GeneralSOAPatternECOREMetamodelNavigatorItem) element)
						.getView())) {
			return;
		}
		label.setText(getText(element));
		label.setImage(getImage(element));
	}

	/**
	 * @generated
	 */
	public Image getImage(Object element) {
		if (element instanceof GeneralSOAPatternECOREMetamodelNavigatorGroup) {
			GeneralSOAPatternECOREMetamodelNavigatorGroup group = (GeneralSOAPatternECOREMetamodelNavigatorGroup) element;
			return GeneralSOAPatternECOREMetamodelDiagramEditorPlugin
					.getInstance().getBundledImage(group.getIcon());
		}

		if (element instanceof GeneralSOAPatternECOREMetamodelNavigatorItem) {
			GeneralSOAPatternECOREMetamodelNavigatorItem navigatorItem = (GeneralSOAPatternECOREMetamodelNavigatorItem) element;
			if (!isOwnView(navigatorItem.getView())) {
				return super.getImage(element);
			}
			return getImage(navigatorItem.getView());
		}

		return super.getImage(element);
	}

	/**
	 * @generated
	 */
	public Image getImage(View view) {
		switch (GeneralSOAPatternECOREMetamodelVisualIDRegistry
				.getVisualID(view)) {
		case CompositeEditPart.VISUAL_ID:
			return getImage(
					"Navigator?TopLevelNode?http://soageneralpattern/1.0?Composite", GeneralSOAPatternECOREMetamodelElementTypes.Composite_2002); //$NON-NLS-1$
		case ReferenceEditPart.VISUAL_ID:
			return getImage(
					"Navigator?Node?http://soageneralpattern/1.0?Reference", GeneralSOAPatternECOREMetamodelElementTypes.Reference_3003); //$NON-NLS-1$
		case ComponentService2EditPart.VISUAL_ID:
			return getImage(
					"Navigator?Node?http://soageneralpattern/1.0?ComponentService", GeneralSOAPatternECOREMetamodelElementTypes.ComponentService_3007); //$NON-NLS-1$
		case Component2EditPart.VISUAL_ID:
			return getImage(
					"Navigator?Node?http://soageneralpattern/1.0?Component", GeneralSOAPatternECOREMetamodelElementTypes.Component_3005); //$NON-NLS-1$
		case ConstraintEditPart.VISUAL_ID:
			return getImage(
					"Navigator?Node?http://soageneralpattern/1.0?Constraint", GeneralSOAPatternECOREMetamodelElementTypes.Constraint_3006); //$NON-NLS-1$
		case ServiceEditPart.VISUAL_ID:
			return getImage(
					"Navigator?Node?http://soageneralpattern/1.0?Service", GeneralSOAPatternECOREMetamodelElementTypes.Service_3004); //$NON-NLS-1$
		case PatternEditPart.VISUAL_ID:
			return getImage(
					"Navigator?Diagram?http://soageneralpattern/1.0?Pattern", GeneralSOAPatternECOREMetamodelElementTypes.Pattern_1000); //$NON-NLS-1$
		case ReferencePromoteEditPart.VISUAL_ID:
			return getImage(
					"Navigator?Link?http://soageneralpattern/1.0?Reference?promote", GeneralSOAPatternECOREMetamodelElementTypes.ReferencePromote_4003); //$NON-NLS-1$
		case ElementMultiplicityEditPart.VISUAL_ID:
			return getImage(
					"Navigator?Link?http://soageneralpattern/1.0?Element?multiplicity", GeneralSOAPatternECOREMetamodelElementTypes.ElementMultiplicity_4002); //$NON-NLS-1$
		case MultiplicityEditPart.VISUAL_ID:
			return getImage(
					"Navigator?TopLevelNode?http://soageneralpattern/1.0?Multiplicity", GeneralSOAPatternECOREMetamodelElementTypes.Multiplicity_2003); //$NON-NLS-1$
		case ElementRolesEditPart.VISUAL_ID:
			return getImage(
					"Navigator?Link?http://soageneralpattern/1.0?Element?roles", GeneralSOAPatternECOREMetamodelElementTypes.ElementRoles_4001); //$NON-NLS-1$
		case ComponentServiceEditPart.VISUAL_ID:
			return getImage(
					"Navigator?Node?http://soageneralpattern/1.0?ComponentService", GeneralSOAPatternECOREMetamodelElementTypes.ComponentService_3001); //$NON-NLS-1$
		case RoleEditPart.VISUAL_ID:
			return getImage(
					"Navigator?TopLevelNode?http://soageneralpattern/1.0?Role", GeneralSOAPatternECOREMetamodelElementTypes.Role_2004); //$NON-NLS-1$
		case ComponentEditPart.VISUAL_ID:
			return getImage(
					"Navigator?TopLevelNode?http://soageneralpattern/1.0?Component", GeneralSOAPatternECOREMetamodelElementTypes.Component_2001); //$NON-NLS-1$
		case ComponentReferenceTargetEditPart.VISUAL_ID:
			return getImage(
					"Navigator?Link?http://soageneralpattern/1.0?ComponentReference?target", GeneralSOAPatternECOREMetamodelElementTypes.ComponentReferenceTarget_4005); //$NON-NLS-1$
		case ComponentReferenceEditPart.VISUAL_ID:
			return getImage(
					"Navigator?Node?http://soageneralpattern/1.0?ComponentReference", GeneralSOAPatternECOREMetamodelElementTypes.ComponentReference_3002); //$NON-NLS-1$
		case ServicePromoteEditPart.VISUAL_ID:
			return getImage(
					"Navigator?Link?http://soageneralpattern/1.0?Service?promote", GeneralSOAPatternECOREMetamodelElementTypes.ServicePromote_4004); //$NON-NLS-1$
		case ComponentReference2EditPart.VISUAL_ID:
			return getImage(
					"Navigator?Node?http://soageneralpattern/1.0?ComponentReference", GeneralSOAPatternECOREMetamodelElementTypes.ComponentReference_3008); //$NON-NLS-1$
		}
		return getImage("Navigator?UnknownElement", null); //$NON-NLS-1$
	}

	/**
	 * @generated
	 */
	private Image getImage(String key, IElementType elementType) {
		ImageRegistry imageRegistry = GeneralSOAPatternECOREMetamodelDiagramEditorPlugin
				.getInstance().getImageRegistry();
		Image image = imageRegistry.get(key);
		if (image == null
				&& elementType != null
				&& GeneralSOAPatternECOREMetamodelElementTypes
						.isKnownElementType(elementType)) {
			image = GeneralSOAPatternECOREMetamodelElementTypes
					.getImage(elementType);
			imageRegistry.put(key, image);
		}

		if (image == null) {
			image = imageRegistry.get("Navigator?ImageNotFound"); //$NON-NLS-1$
			imageRegistry.put(key, image);
		}
		return image;
	}

	/**
	 * @generated
	 */
	public String getText(Object element) {
		if (element instanceof GeneralSOAPatternECOREMetamodelNavigatorGroup) {
			GeneralSOAPatternECOREMetamodelNavigatorGroup group = (GeneralSOAPatternECOREMetamodelNavigatorGroup) element;
			return group.getGroupName();
		}

		if (element instanceof GeneralSOAPatternECOREMetamodelNavigatorItem) {
			GeneralSOAPatternECOREMetamodelNavigatorItem navigatorItem = (GeneralSOAPatternECOREMetamodelNavigatorItem) element;
			if (!isOwnView(navigatorItem.getView())) {
				return null;
			}
			return getText(navigatorItem.getView());
		}

		return super.getText(element);
	}

	/**
	 * @generated
	 */
	public String getText(View view) {
		if (view.getElement() != null && view.getElement().eIsProxy()) {
			return getUnresolvedDomainElementProxyText(view);
		}
		switch (GeneralSOAPatternECOREMetamodelVisualIDRegistry
				.getVisualID(view)) {
		case CompositeEditPart.VISUAL_ID:
			return getComposite_2002Text(view);
		case ReferenceEditPart.VISUAL_ID:
			return getReference_3003Text(view);
		case ComponentService2EditPart.VISUAL_ID:
			return getComponentService_3007Text(view);
		case Component2EditPart.VISUAL_ID:
			return getComponent_3005Text(view);
		case ConstraintEditPart.VISUAL_ID:
			return getConstraint_3006Text(view);
		case ServiceEditPart.VISUAL_ID:
			return getService_3004Text(view);
		case PatternEditPart.VISUAL_ID:
			return getPattern_1000Text(view);
		case ReferencePromoteEditPart.VISUAL_ID:
			return getReferencePromote_4003Text(view);
		case ElementMultiplicityEditPart.VISUAL_ID:
			return getElementMultiplicity_4002Text(view);
		case MultiplicityEditPart.VISUAL_ID:
			return getMultiplicity_2003Text(view);
		case ElementRolesEditPart.VISUAL_ID:
			return getElementRoles_4001Text(view);
		case ComponentServiceEditPart.VISUAL_ID:
			return getComponentService_3001Text(view);
		case RoleEditPart.VISUAL_ID:
			return getRole_2004Text(view);
		case ComponentEditPart.VISUAL_ID:
			return getComponent_2001Text(view);
		case ComponentReferenceTargetEditPart.VISUAL_ID:
			return getComponentReferenceTarget_4005Text(view);
		case ComponentReferenceEditPart.VISUAL_ID:
			return getComponentReference_3002Text(view);
		case ServicePromoteEditPart.VISUAL_ID:
			return getServicePromote_4004Text(view);
		case ComponentReference2EditPart.VISUAL_ID:
			return getComponentReference_3008Text(view);
		}
		return getUnknownElementText(view);
	}

	/**
	 * @generated
	 */
	private String getComposite_2002Text(View view) {
		IParser parser = GeneralSOAPatternECOREMetamodelParserProvider
				.getParser(
						GeneralSOAPatternECOREMetamodelElementTypes.Composite_2002,
						view.getElement() != null ? view.getElement() : view,
						GeneralSOAPatternECOREMetamodelVisualIDRegistry
								.getType(CompositeNameEditPart.VISUAL_ID));
		if (parser != null) {
			return parser.getPrintString(new EObjectAdapter(
					view.getElement() != null ? view.getElement() : view),
					ParserOptions.NONE.intValue());
		} else {
			GeneralSOAPatternECOREMetamodelDiagramEditorPlugin.getInstance()
					.logError("Parser was not found for label " + 5007); //$NON-NLS-1$
			return ""; //$NON-NLS-1$
		}
	}

	/**
	 * @generated
	 */
	private String getReference_3003Text(View view) {
		Reference domainModelElement = (Reference) view.getElement();
		if (domainModelElement != null) {
			return domainModelElement.getName();
		} else {
			GeneralSOAPatternECOREMetamodelDiagramEditorPlugin
					.getInstance()
					.logError(
							"No domain element for view with visualID = " + 3003); //$NON-NLS-1$
			return ""; //$NON-NLS-1$
		}
	}

	/**
	 * @generated
	 */
	private String getComponentService_3007Text(View view) {
		ComponentService domainModelElement = (ComponentService) view
				.getElement();
		if (domainModelElement != null) {
			return domainModelElement.getName();
		} else {
			GeneralSOAPatternECOREMetamodelDiagramEditorPlugin
					.getInstance()
					.logError(
							"No domain element for view with visualID = " + 3007); //$NON-NLS-1$
			return ""; //$NON-NLS-1$
		}
	}

	/**
	 * @generated
	 */
	private String getComponent_3005Text(View view) {
		IParser parser = GeneralSOAPatternECOREMetamodelParserProvider
				.getParser(
						GeneralSOAPatternECOREMetamodelElementTypes.Component_3005,
						view.getElement() != null ? view.getElement() : view,
						GeneralSOAPatternECOREMetamodelVisualIDRegistry
								.getType(ComponentName2EditPart.VISUAL_ID));
		if (parser != null) {
			return parser.getPrintString(new EObjectAdapter(
					view.getElement() != null ? view.getElement() : view),
					ParserOptions.NONE.intValue());
		} else {
			GeneralSOAPatternECOREMetamodelDiagramEditorPlugin.getInstance()
					.logError("Parser was not found for label " + 5006); //$NON-NLS-1$
			return ""; //$NON-NLS-1$
		}
	}

	/**
	 * @generated
	 */
	private String getConstraint_3006Text(View view) {
		IParser parser = GeneralSOAPatternECOREMetamodelParserProvider
				.getParser(
						GeneralSOAPatternECOREMetamodelElementTypes.Constraint_3006,
						view.getElement() != null ? view.getElement() : view,
						GeneralSOAPatternECOREMetamodelVisualIDRegistry
								.getType(ConstraintNameEditPart.VISUAL_ID));
		if (parser != null) {
			return parser.getPrintString(new EObjectAdapter(
					view.getElement() != null ? view.getElement() : view),
					ParserOptions.NONE.intValue());
		} else {
			GeneralSOAPatternECOREMetamodelDiagramEditorPlugin.getInstance()
					.logError("Parser was not found for label " + 5008); //$NON-NLS-1$
			return ""; //$NON-NLS-1$
		}
	}

	/**
	 * @generated
	 */
	private String getService_3004Text(View view) {
		Service domainModelElement = (Service) view.getElement();
		if (domainModelElement != null) {
			return domainModelElement.getName();
		} else {
			GeneralSOAPatternECOREMetamodelDiagramEditorPlugin
					.getInstance()
					.logError(
							"No domain element for view with visualID = " + 3004); //$NON-NLS-1$
			return ""; //$NON-NLS-1$
		}
	}

	/**
	 * @generated
	 */
	private String getPattern_1000Text(View view) {
		Pattern domainModelElement = (Pattern) view.getElement();
		if (domainModelElement != null) {
			return domainModelElement.getName();
		} else {
			GeneralSOAPatternECOREMetamodelDiagramEditorPlugin
					.getInstance()
					.logError(
							"No domain element for view with visualID = " + 1000); //$NON-NLS-1$
			return ""; //$NON-NLS-1$
		}
	}

	/**
	 * @generated
	 */
	private String getReferencePromote_4003Text(View view) {
		return ""; //$NON-NLS-1$
	}

	/**
	 * @generated
	 */
	private String getElementMultiplicity_4002Text(View view) {
		return ""; //$NON-NLS-1$
	}

	/**
	 * @generated
	 */
	private String getMultiplicity_2003Text(View view) {
		Multiplicity domainModelElement = (Multiplicity) view.getElement();
		if (domainModelElement != null) {
			return String.valueOf(domainModelElement.getLowerBound());
		} else {
			GeneralSOAPatternECOREMetamodelDiagramEditorPlugin
					.getInstance()
					.logError(
							"No domain element for view with visualID = " + 2003); //$NON-NLS-1$
			return ""; //$NON-NLS-1$
		}
	}

	/**
	 * @generated
	 */
	private String getElementRoles_4001Text(View view) {
		return ""; //$NON-NLS-1$
	}

	/**
	 * @generated
	 */
	private String getComponentService_3001Text(View view) {
		ComponentService domainModelElement = (ComponentService) view
				.getElement();
		if (domainModelElement != null) {
			return domainModelElement.getName();
		} else {
			GeneralSOAPatternECOREMetamodelDiagramEditorPlugin
					.getInstance()
					.logError(
							"No domain element for view with visualID = " + 3001); //$NON-NLS-1$
			return ""; //$NON-NLS-1$
		}
	}

	/**
	 * @generated
	 */
	private String getRole_2004Text(View view) {
		IParser parser = GeneralSOAPatternECOREMetamodelParserProvider
				.getParser(
						GeneralSOAPatternECOREMetamodelElementTypes.Role_2004,
						view.getElement() != null ? view.getElement() : view,
						GeneralSOAPatternECOREMetamodelVisualIDRegistry
								.getType(RoleNameEditPart.VISUAL_ID));
		if (parser != null) {
			return parser.getPrintString(new EObjectAdapter(
					view.getElement() != null ? view.getElement() : view),
					ParserOptions.NONE.intValue());
		} else {
			GeneralSOAPatternECOREMetamodelDiagramEditorPlugin.getInstance()
					.logError("Parser was not found for label " + 5009); //$NON-NLS-1$
			return ""; //$NON-NLS-1$
		}
	}

	/**
	 * @generated
	 */
	private String getComponent_2001Text(View view) {
		IParser parser = GeneralSOAPatternECOREMetamodelParserProvider
				.getParser(
						GeneralSOAPatternECOREMetamodelElementTypes.Component_2001,
						view.getElement() != null ? view.getElement() : view,
						GeneralSOAPatternECOREMetamodelVisualIDRegistry
								.getType(ComponentNameEditPart.VISUAL_ID));
		if (parser != null) {
			return parser.getPrintString(new EObjectAdapter(
					view.getElement() != null ? view.getElement() : view),
					ParserOptions.NONE.intValue());
		} else {
			GeneralSOAPatternECOREMetamodelDiagramEditorPlugin.getInstance()
					.logError("Parser was not found for label " + 5003); //$NON-NLS-1$
			return ""; //$NON-NLS-1$
		}
	}

	/**
	 * @generated
	 */
	private String getComponentReferenceTarget_4005Text(View view) {
		return ""; //$NON-NLS-1$
	}

	/**
	 * @generated
	 */
	private String getComponentReference_3002Text(View view) {
		ComponentReference domainModelElement = (ComponentReference) view
				.getElement();
		if (domainModelElement != null) {
			return domainModelElement.getName();
		} else {
			GeneralSOAPatternECOREMetamodelDiagramEditorPlugin
					.getInstance()
					.logError(
							"No domain element for view with visualID = " + 3002); //$NON-NLS-1$
			return ""; //$NON-NLS-1$
		}
	}

	/**
	 * @generated
	 */
	private String getServicePromote_4004Text(View view) {
		return ""; //$NON-NLS-1$
	}

	/**
	 * @generated
	 */
	private String getComponentReference_3008Text(View view) {
		ComponentReference domainModelElement = (ComponentReference) view
				.getElement();
		if (domainModelElement != null) {
			return domainModelElement.getName();
		} else {
			GeneralSOAPatternECOREMetamodelDiagramEditorPlugin
					.getInstance()
					.logError(
							"No domain element for view with visualID = " + 3008); //$NON-NLS-1$
			return ""; //$NON-NLS-1$
		}
	}

	/**
	 * @generated
	 */
	private String getUnknownElementText(View view) {
		return "<UnknownElement Visual_ID = " + view.getType() + ">"; //$NON-NLS-1$  //$NON-NLS-2$
	}

	/**
	 * @generated
	 */
	private String getUnresolvedDomainElementProxyText(View view) {
		return "<Unresolved domain element Visual_ID = " + view.getType() + ">"; //$NON-NLS-1$  //$NON-NLS-2$
	}

	/**
	 * @generated
	 */
	public void init(ICommonContentExtensionSite aConfig) {
	}

	/**
	 * @generated
	 */
	public void restoreState(IMemento aMemento) {
	}

	/**
	 * @generated
	 */
	public void saveState(IMemento aMemento) {
	}

	/**
	 * @generated
	 */
	public String getDescription(Object anElement) {
		return null;
	}

	/**
	 * @generated
	 */
	private boolean isOwnView(View view) {
		return PatternEditPart.MODEL_ID
				.equals(GeneralSOAPatternECOREMetamodelVisualIDRegistry
						.getModelID(view));
	}

}
